import rtconfig
from building import *

Import('SDK_LIB')

cwd = GetCurrentDir()

# add the general drivers.
src = Split('''
board.c
mmc_test.c
stm32h745i_discovery_bus.c
stm32h745i_discovery_ts.c
ft5336/ft5336_reg.c
ft5336/ft5336.c
ts_test.c
''')

src += Split('''
stm32h745i_discovery_sdram.c
mt48lc4m32b2/mt48lc4m32b2.c
sdram_init.c
''')

src += Glob('CubeMX_Config/CM7/Core/Src/stm32h7xx_hal_msp.c')

path = [cwd]
path += [cwd + '/ft5336']
path += [cwd + '/CubeMX_Config/CM7/Core/Inc']

startup_path_prefix = SDK_LIB

if rtconfig.CROSS_TOOL == 'gcc':
    src += [startup_path_prefix + '/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h745xx.s']
elif rtconfig.CROSS_TOOL == 'keil':
    src += [startup_path_prefix + '/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/arm/startup_stm32h745xx.s']
elif rtconfig.CROSS_TOOL == 'iar':
    src += [startup_path_prefix + '/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/iar/startup_stm32h745xx.s']

# STM32H743xx || STM32H750xx || STM32F753xx
# You can select chips from the list above
CPPDEFINES = ['STM32H745xx', 'CORE_CM7']
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)

Return('group')
